package com.lenovo.lcdm.type.dto;


import java.io.Serializable;
import java.util.List;

/**
 * @desc 类型定义传输类
 * @author xujing
 * @date 2024/1/10
 */
public class TypeDefinitionDTO implements Serializable {

    private Long id;

    private String internalName;

    private String displayName;

    private String referenceClass;

    private String referenceTable;

    private String description;

    private Long branchId;

    private Boolean latestIteration;

    private Long parentTypeId;

    private String iconPath;

    private String visibility = "Public";

    private Boolean childEnable = false;

    private List<TypeDefinitionDTO> subTypes;

    private List<LocalAttributeDTO> localAttributes;

    private List<AttributeGroupDTO> attributeGroups;

    private String creator;

    private String modifier;

    public List<AttributeGroupDTO> getAttributeGroups() {
        return attributeGroups;
    }

    public void setAttributeGroups(List<AttributeGroupDTO> attributeGroups) {
        this.attributeGroups = attributeGroups;
    }


    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public Boolean getChildEnable() {
        return childEnable==null?false:childEnable;
    }

    public void setChildEnable(Boolean childEnable) {
        this.childEnable = childEnable;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getInternalName() {
        return internalName;
    }

    public void setInternalName(String internalName) {
        this.internalName = internalName;
    }

    public String getDisplayName() {
        return displayName;
    }

    public void setDisplayName(String displayName) {
        this.displayName = displayName;
    }

    public String getReferenceClass() {
        return referenceClass;
    }

    public void setReferenceClass(String referenceClass) {
        this.referenceClass = referenceClass;
    }

    public String getReferenceTable() {
        return referenceTable;
    }

    public void setReferenceTable(String referenceTable) {
        this.referenceTable = referenceTable;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getBranchId() {
        return branchId;
    }

    public void setBranchId(Long branchId) {
        this.branchId = branchId;
    }

    public Boolean getLatestIteration() {
        return latestIteration;
    }

    public void setLatestIteration(Boolean latestIteration) {
        this.latestIteration = latestIteration;
    }

    public Long getParentTypeId() {
        return parentTypeId;
    }

    public void setParentTypeId(Long parentTypeId) {
        this.parentTypeId = parentTypeId;
    }

    public String getIconPath() {
        return iconPath;
    }

    public void setIconPath(String iconPath) {
        this.iconPath = iconPath;
    }

    public List<TypeDefinitionDTO> getSubTypes() {
        return subTypes;
    }

    public void setSubTypes(List<TypeDefinitionDTO> subTypes) {
        this.subTypes = subTypes;
    }

    public List<LocalAttributeDTO> getLocalAttributes() {
        return localAttributes;
    }

    public void setLocalAttributes(List<LocalAttributeDTO> localAttributes) {
        this.localAttributes = localAttributes;
    }

    public String getVisibility() {
        return visibility==null?"Public":visibility;
    }

    public void setVisibility(String visibility) {
        this.visibility = visibility;
    }

}
